#![no_std]
#![no_main]
#![warn(missing_docs)]
#![deny(warnings)]

//! 内核主函数
use bootloader_api::BootInfo;

// 使用bootloader_api库提供的宏声明内核入口
bootloader_api::entry_point!(kernel_main);

/// 内核入口函数，参数为bootloader收集的硬件信息
fn kernel_main(boot_info: &'static mut BootInfo) -> ! {
    kernel::init(boot_info);

    kernel::serial_println!("Hello world");

    // TODO：使用fb_print宏输出hello至FrameBuffer
    // kernel::fb_println!("Hello world");

    kernel::hlt_loop();
}
